package cn.fl.product.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.product.vo.SplInfoVO;
import fl.spl.facade.spl.dto.SplInfoDTO;

/**
 * @Description: 供应商信息表 转换器
 * VO是客户端传递数据到服务端进行转换的数据 
 * VO转换数据变成DTO传递到服务端 
 * VO不能在服务端出现
 */
public class SplInfoVOTransform {


	/**
	 * DTO 转  VO
	 * @param dto PrdSplInfoDTO
	 * @return PrdSplInfoVO
	 */
	public static SplInfoVO toVO(SplInfoDTO dto) {
		SplInfoVO  vo = null;
		if (dto != null) {
			vo = new SplInfoVO();
			vo.setId(dto.getId());
			vo.setSplNm(dto.getSplNm());//供应商名称
			vo.setTaxRegNo(dto.getTaxRegNo());//税务登记号
			vo.setSplTel(dto.getSplTel());//SPL_TEL
			vo.setSplFax(dto.getSplFax());//供应商传真
			vo.setCorpTypCd(dto.getCorpTypCd());//企业性质（CST0010）
			vo.setBizLicNo(dto.getBizLicNo());//营业执照注册号
			vo.setRegDt(dto.getRegDt());//成立日期
			vo.setExpDt(dto.getExpDt());//有效日期
			vo.setRegCapAmt(dto.getRegCapAmt());//注册资本
			vo.setRegCapUntCd(dto.getRegCapUntCd());//注册资本计量单位（CST0011）
			vo.setPaidCapAmt(dto.getPaidCapAmt());//实收资本
			vo.setPaidCapUntCd(dto.getPaidCapUntCd());//实收资本计量单位（CST0011）
			vo.setIsBuyBack(dto.getIsBuyBack());//是否回购
			vo.setRgnPrCd(dto.getRgnPrCd());//区域-省
			vo.setRgnCyCd(dto.getRgnCyCd());//区域-市
			vo.setOrgCode(dto.getOrgCode());//组织机构代码
			vo.setZipNo(dto.getZipNo());//通讯地址邮编
			vo.setRegAddr(dto.getRegAddr());//注册地址
			vo.setFileNo(dto.getFileNo());//FILE_NO
			vo.setWebsit(dto.getWebsit());//公司网站
			vo.setPostAddr(dto.getPostAddr());//通讯地址
			vo.setBizScope(dto.getBizScope());//经营范围
			vo.setOthInfoCd(dto.getOthInfoCd());//OTH_INFO_CD
			vo.setAudStsCd(dto.getAudStsCd());//供应商审核状态（SYS0019）
			vo.setPInstId(dto.getPInstId());//流程实例ID
			vo.setIsDel(dto.getIsDel());//是否删除（1：是，0：否）
			vo.setSplLvlCd(dto.getSplLvlCd());//供应商级别
			vo.setBilWayCd(dto.getBilWayCd());//开票资质
			vo.setPrjLvlCd(dto.getPrjLvlCd());//经销商立项级别

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人

			vo.setAudStsCdNm(dto.getAudStsCdNm());//供应商审核状态
			vo.setMfrIds(dto.getMfrIds());//供应商所属厂商集合
			vo.setTkBrCdList(dto.getTkBrCdList());//品牌代码集合
			vo.setCarBrCdList(dto.getCarBrCdList());//品牌代码集合
			vo.setBusBrCdList(dto.getBusBrCdList());//品牌代码集合

			vo.setBuOrgCds(dto.getBuOrgCds());//所属事业部集合
			vo.setRlPsnList(SplRlPsnVOTransform.toVOList(dto.getRlPsnList()));//主要人员集合
			vo.setCorpTypCdNm(dto.getCorpTypCdNm());//企业性质
			vo.setRegCapUntCdNm(dto.getRegCapUntCdNm());//注册资本单位
			vo.setPaidCapUntCdNm(dto.getPaidCapUntCdNm());//实收资本单位
			vo.setRlNm(dto.getRlNm());//联系人
			vo.setTel(dto.getTel());//联系方式
			vo.setBuOrgCdNms(dto.getBuOrgCdNms());//供应商所属机构
			vo.setMfrNms(dto.getMfrNms());//所属厂商
			vo.setTkBrCdNms(dto.getTkBrCdNms());//品牌
			vo.setCarBrCdNms(dto.getCarBrCdNms());//品牌
			vo.setBusBrCdNms(dto.getBusBrCdNms());//品牌
			vo.setRgnNms(dto.getRgnNms());//区域
			vo.setPrjTypCdNms(dto.getPrjTypCdNms());//项目类型
			vo.setPrjTypCds(dto.getPrjTypCds());//项目类型
			vo.setSplLvlCdNm(dto.getSplLvlCdNm());//供应商级别
			vo.setBilWayCdNm(dto.getBilWayCdNm());//开票资质
			vo.setPrjLvlCdNm(dto.getPrjLvlCdNm());//经销商立项级别
			vo.setRebPct(dto.getRebPct());
			vo.setSplAttrCd(dto.getSplAttrCd());//供应商属性
			//vo.setSplBscExtInfoVO(SplBscExtInfoVOTransform.toVO(dto.getSplBscExtInfoDTO()));//供应商扩展信息

			//jiangzg 2017-7-31 17:01:48 add
			// 专车事业部新增字段
			vo.setSplTypCd(dto.getSplTypCd()); //供应商类别
			vo.setCoopDt(dto.getCoopDt());	//合作开始时间
			vo.setAgtSec(dto.getAgtSec());  //代理商协议乙方
			vo.setAgtThd(dto.getAgtThd());  //代理商协议丙方
			vo.setBscTaskQty(dto.getBscTaskQty());	//代理商基础任务量
			vo.setEntDepAmt(dto.getEntDepAmt());	//代理商入网保证金（万元）
			vo.setPrdMaxValAmt(dto.getPrdMaxValAmt());	//我司提供车辆最高总价值（万元）
			vo.setSysFlowSHDTOList(dto.getSysFlowSHDTOList());
			//add by zhaoyong
			vo.setIsAuthCrdChk(dto.getIsAuthCrdChk());
			vo.setLimChkTms(dto.getLimChkTms());
			//zhangtong  2017-10-11 17:01:48 
			vo.setLivSwitch(dto.getLivSwitch());
			vo.setCrdLoaSwitch(dto.getCrdLoaSwitch());
			vo.setAtcId(dto.getAtcId());
			vo.setAtcIdNm(dto.getAtcIdNm());

			//jiangzg 2018-2-28 09:50:35 add
			vo.setSaleArea(dto.getSaleArea());
			vo.setOpStsCd(dto.getOpStsCd());
			vo.setQualTypCd(dto.getQualTypCd());
			vo.setSplSource(dto.getSplSource());
			vo.setSucc(dto.getSucc());
			vo.setApplyCredNum(dto.getApplyCredNum());
			vo.setApplyPerNm(dto.getApplyPerNm());
			vo.setApplyTel(dto.getApplyTel());
			vo.setApplyTm(dto.getApplyTm());
			//zhangtong 2018-3-9
			vo.setOpStsCdNm(dto.getOpStsCdNm());
			vo.setIsBlackList(dto.getIsBlackList());

			//jiangzg 2018-4-24 18:27:50
			vo.setSplDoorNm(dto.getSplDoorNm());
			vo.setSplCstTypCd(dto.getSplCstTypCd());
			vo.setSplStatusCd(dto.getSplStatusCd());
			vo.setChkBusTypCdList(dto.getChkBusTypCdList());

			vo.setBizScopeCdList(dto.getBizScopCdList());

			vo.setOwnerCd(dto.getOwnerCd());//经销商公司归属
			
			vo.setImportDataSource(dto.getImportDataSource());//企业数据信息源("INNER":客户经理录入或企业录入,"QIANHAI":前海接口，等)

			vo.setEstimate(dto.getEstimate());//是否开启轻卡商家测算
			vo.setDeclaration(dto.getDeclaration());//是否开启轻卡商家报单
			
			//caolei added at 2020-2-11 15:48:27
			vo.setIsRecycleLoa(dto.getIsRecycleLoa());//三方授权是否回收
			vo.setIsUploadLoa(dto.getIsUploadLoa());//三方授权书是否上传

			vo.setCompEffectIsValid(dto.getCompEffectIsValid());
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo PrdSplInfoVO
	 * @return PrdSplInfoDTO
	 */
	public static SplInfoDTO toDTO(SplInfoVO vo) {
		SplInfoDTO dto = null;
		if (vo != null) {
			dto = new SplInfoDTO();
			dto.setId(vo.getId());
			dto.setSplNm(vo.getSplNm());//供应商名称
			dto.setTaxRegNo(vo.getTaxRegNo());//税务登记号
			dto.setSplTel(vo.getSplTel());//SPL_TEL
			dto.setSplFax(vo.getSplFax());//供应商传真
			dto.setCorpTypCd(vo.getCorpTypCd());//企业性质（CST0010）
			dto.setBizLicNo(vo.getBizLicNo());//营业执照注册号
			dto.setRegDt(vo.getRegDt());//成立日期
			dto.setExpDt(vo.getExpDt());//有效日期
			dto.setRegCapAmt(vo.getRegCapAmt());//注册资本
			dto.setRegCapUntCd(vo.getRegCapUntCd());//注册资本计量单位（CST0011）
			dto.setPaidCapAmt(vo.getPaidCapAmt());//实收资本
			dto.setPaidCapUntCd(vo.getPaidCapUntCd());//实收资本计量单位（CST0011）
			dto.setIsBuyBack(vo.getIsBuyBack());//是否回购
			dto.setRgnPrCd(vo.getRgnPrCd());//区域-省
			dto.setRgnCyCd(vo.getRgnCyCd());//区域-市
			dto.setOrgCode(vo.getOrgCode());//组织机构代码
			dto.setZipNo(vo.getZipNo());//通讯地址邮编
			dto.setRegAddr(vo.getRegAddr());//注册地址
			dto.setFileNo(vo.getFileNo());//FILE_NO
			dto.setWebsit(vo.getWebsit());//公司网站
			dto.setPostAddr(vo.getPostAddr());//通讯地址
			dto.setBizScope(vo.getBizScope());//经营范围
			dto.setOthInfoCd(vo.getOthInfoCd());//OTH_INFO_CD
			dto.setAudStsCd(vo.getAudStsCd());//供应商审核状态（SYS0019）
			dto.setPInstId(vo.getPInstId());//流程实例ID
			dto.setIsDel(vo.getIsDel());//是否删除（1：是，0：否）
			dto.setSplLvlCd(vo.getSplLvlCd());//供应商级别
			dto.setBilWayCd(vo.getBilWayCd());//开票资质
			dto.setPrjLvlCd(vo.getPrjLvlCd());//经销商立项级别

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人

			dto.setAudStsCdNm(vo.getAudStsCdNm());//供应商审核状态
			dto.setMfrIds(vo.getMfrIds());//供应商所属厂商集合
			dto.setTkBrCdList(vo.getTkBrCdList());//品牌代码集合
			dto.setCarBrCdList(vo.getCarBrCdList());//品牌代码集合
			dto.setBusBrCdList(vo.getBusBrCdList());//品牌代码集合
			dto.setBuOrgCds(vo.getBuOrgCds());//所属事业部集合
			dto.setPrjTypCds(vo.getPrjTypCds());//项目类型集合
			dto.setRlPsnList(SplRlPsnVOTransform.toDTOList(vo.getRlPsnList()));//主要人员集合
			dto.setCorpTypCdNm(vo.getCorpTypCdNm());//企业性质
			dto.setRegCapUntCdNm(vo.getRegCapUntCdNm());//注册资本单位
			dto.setPaidCapUntCdNm(vo.getPaidCapUntCdNm());//实收资本单位
			dto.setSplLvlCdNm(vo.getSplLvlCdNm());//供应商级别
			dto.setBilWayCdNm(vo.getBilWayCdNm());//开票资质
			dto.setPrjLvlCdNm(vo.getPrjLvlCdNm());//经销商立项级别
			dto.setRebPct(vo.getRebPct());
			dto.setSplAttrCd(vo.getSplAttrCd());//供应商属性
			//dto.setSplBscExtInfoDTO(SplBscExtInfoVOTransform.toDTO(vo.getSplBscExtInfoVO()));

			//jiangzg 2017-7-31 17:01:48 add
			// 专车事业部新增字段
			dto.setSplTypCd(vo.getSplTypCd()); //供应商类别
			dto.setCoopDt(vo.getCoopDt());	//合作开始时间
			dto.setAgtSec(vo.getAgtSec());  //代理商协议乙方
			dto.setAgtThd(vo.getAgtThd());  //代理商协议丙方
			dto.setBscTaskQty(vo.getBscTaskQty());	//代理商基础任务量
			dto.setEntDepAmt(vo.getEntDepAmt());	//代理商入网保证金（万元）
			dto.setPrdMaxValAmt(vo.getPrdMaxValAmt());	//我司提供车辆最高总价值（万元）
			//add by zhaoyong
			dto.setIsAuthCrdChk(vo.getIsAuthCrdChk());
			dto.setLimChkTms(vo.getLimChkTms());
			//zhangtong  2017-10-11 17:01:48
			dto.setLivSwitch(vo.getLivSwitch());//前置征信活体开关
			dto.setCrdLoaSwitch(vo.getCrdLoaSwitch());//前置征信授权书开关
			dto.setAtcId(vo.getAtcId());
			dto.setAtcIdNm(vo.getAtcIdNm());
			//jiangzg 2018-2-28 09:50:35 add
			dto.setSaleArea(vo.getSaleArea());
			dto.setOpStsCd(vo.getOpStsCd());
			dto.setQualTypCd(vo.getQualTypCd());
			dto.setSplSource(vo.getSplSource());
			dto.setSucc(vo.getSucc());
			dto.setApplyCredNum(vo.getApplyCredNum());
			dto.setApplyPerNm(vo.getApplyPerNm());
			dto.setApplyTel(vo.getApplyTel());
			dto.setApplyTm(vo.getApplyTm());
			dto.setOpStsCdNm(vo.getOpStsCdNm());
			dto.setIsBlackList(vo.getIsBlackList());
			//jiangzg 2018-4-24 18:27:50
			dto.setSplDoorNm(vo.getSplDoorNm());
			dto.setSplCstTypCd(vo.getSplCstTypCd());
			dto.setSplStatusCd(vo.getSplStatusCd());
			dto.setChkBusTypCdList(vo.getChkBusTypCdList());

			dto.setBizScopCdList(vo.getBizScopeCdList());

			dto.setOwnerCd(vo.getOwnerCd());//经销商公司归属
			
			dto.setImportDataSource(vo.getImportDataSource());//企业数据信息源("INNER":客户经理录入或企业录入,"QIANHAI":前海接口，等)

			dto.setEstimate(vo.getEstimate());//是否开启轻卡商家测算
			dto.setDeclaration(vo.getDeclaration());//是否开启轻卡商家报单
			
			//caolei added at 2020-2-11 15:48:27
			dto.setIsRecycleLoa(vo.getIsRecycleLoa());//三方授权是否回收
			dto.setIsUploadLoa(vo.getIsUploadLoa());//三方授权书是否上传
		}
		return dto;
	}

	/**
	 * DTO集合 转 VO集合
	 * @param list List<PrdSplInfo>
	 * @return List<PrdSplInfoDTO>
	 */
	public static List<SplInfoVO> toVOList(List<SplInfoDTO> list) {
		List<SplInfoVO>  voList = new ArrayList<SplInfoVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (SplInfoDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
}